package ru.ssau;

import java.rmi.RemoteException;
import java.util.Collection;
import javax.ejb.EJBObject;
import lab.bmp.artist.Artist;
import lab.bmp.artist.ArtistPK;
import lab.bmp.genre.Genre;
import lab.bmp.genre.GenrePK;
import lab.bmp.studio.Studio;
import lab.bmp.studio.StudioPK;
import lab.bmp.track.Track;
import lab.bmp.track.TrackPK;

/**
 *
 * @author Smike
 */
public interface CollectionDAOBeanRemote extends EJBObject {

    public Collection findTags() throws RemoteException;
    public Collection findArtists() throws RemoteException;
    public Collection findGenres() throws RemoteException;
    public Collection findTracks() throws RemoteException;
    public Collection findStudios() throws RemoteException;
    
    public Track findTrack(TrackPK id) throws RemoteException;
    public Genre findGenre(GenrePK id) throws RemoteException;
    public Studio findStudio(StudioPK id) throws RemoteException;
    public Artist findArtist(ArtistPK id) throws RemoteException;
      
    public void insertTrack(lab.domain.Track track) throws RemoteException;
    public void insertArtist(lab.domain.Artist artist) throws RemoteException;
    public void insertGenre(lab.domain.Genre genre) throws RemoteException;
    public void insertStudio(lab.domain.SoundRecordingStudio studio) throws RemoteException;
    
    public void deleteTrack(TrackPK track) throws RemoteException;
    public void deleteArtist(ArtistPK artist) throws RemoteException;
    public void deleteGenre(GenrePK genre) throws RemoteException;
    public void deleteStudio(StudioPK studio) throws RemoteException;
    
}
